Crowdsmelling: A preliminary study on using collective knowledge in code smells detection

نویسندگان

چکیده

Code smells are seen as major source of technical debt and, such, should be detected and removed. However, researchers argue that the subjectiveness code detection process is a hindrance to mitigate problem smells-infected code. This paper presents results validation experiment for Crowdsmelling approach proposed earlier. The latter based on supervised machine learning techniques, where wisdom crowd (of software developers) used collectively calibrate algorithms, thereby lessening subjectivity issue. In context three consecutive years Software Engineering course, total “crowd” around hundred teams, with an average members each, classified presence 3 (Long Method, God Class, Feature Envy) in Java These classifications were basis oracles training six algorithms. Over one models generated evaluated determine which algorithms had best performance detecting each aforementioned smells. Good performances obtained Class (ROC= 0.896 Naive Bayes) Long Method 0.870 AdaBoostM1), but much lower Envy 0.570 Random Forrest). suggest feasible Further experiments dynamic required comprehensive coverage increase external validity.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Study of Bad Smells in Code

Software development is an area which is into action for the last fifteen to twenty years. As rapidly as the software development took place, with the same ratio the trend of analysing the code raised. Code smells are structural characteristics of software that may indicate a code or design problem that makes software hard to evolve and maintain, and may trigger refactoring of code. The presenc...

متن کامل

Code-Smells Detection using Good and Bad Software Design Examples

Code-Smells refer to design situations that may adversely affect the maintenance of software. They make a system difficult to change, which may in turn introduce bugs. Codesmells are detected, in general, using quality metrics that formalize some symptoms based on detection rules. We propose in this work to consider the problem of code-smells detection as a multi-objective problem where example...

متن کامل

Code smells

s, titles and keywords were analysed by VOSviewer using default parameters. All common terms like study, baseline, control group, trend, method were excluded from the analysis. Three maps were induced (1) clustered landscapes presenting popularity of terms (more popular terms are presented in larger squares), associations between terms (terms locted near each other are stongly associated) and r...

متن کامل

How Do Community Smells Influence Code Smells?

Code smells reflect sub-optimal patterns of code that often lead to critical software flaws or failure. In the sameway, community smells reflect sub-optimal organisational and socio-technical patterns in the organisational structure of the software community. To understand the relation between the community smells and code smells we start by surveying 162 developers of nine opensource systems. ...

متن کامل

Code-Smells Detection as a Bi-Level Problem

Code-Smells represent design situations that can affect the maintenance and evolution of software. They make a system difficult to evolve. Code-smells are detected, in general, using quality metrics that represent some symptoms. However, the selection of suitable quality metrics is challenging due to the absence of consensus to identify some code-smells based on a set of symptoms and also the h...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Empirical Software Engineering

سال: 2022

ISSN: ['1382-3256', '1573-7616']

DOI: https://doi.org/10.1007/s10664-021-10110-5